package com.zrrd.learn.chapter06数组;

import java.util.Arrays;

/**
 * 学习一下多维数组
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/7/14 下午3:12
 */
public class LearnTwoArray01 {

    /**
     * 多维数组
     * 1 ： 数组
     * 1.1 概念  :  相同类型的数据的组合 int a = 9; int b = 13; int c = 19;
     * 1.2 定义
     * 1.2.1   new int[3] 创建数组对象 int[] a 声明数组类型引用 a    = 表示引用地址
     * 1.2.2  直接赋初始値
     * 1.3 取値
     * 取値 ： 数组支持随机访问 [0 - 长度)
     * 引用名称[下标]
     * 1.4 设置
     * 引用名称[索引] = 値;
     * 1.5 遍历
     * 1.5.1
     * 1.6 数组的内存模式
     * 2 ： 多维
     */
    public static void main(String[] args) {
//        类型[] 变量 = new 类型[长度]
        int[] a = new int[3];
        a[0] = 9;
        a[1] = 13;
        a[2] = 34;

        System.out.println(a[2]);

        double[] d = new double[1];
        d[0] = 3.4;
        //不是基本类型数组 (引用类型)
        Double[] d1 = new Double[1];
        d1[0] = 3.45;

        //DynamicArray这是一个类，不是基本，引用
        //引用类型的数据如何创建
        /**
         * 引用类型的类型 标识符 = new 引用类型的类型();
         *  DynamicArray da = new DynamicArray();
         */

        DynamicArray[] ds = new DynamicArray[2];
        DynamicArray da = new DynamicArray();
        ds[0] = da;
        DynamicArray da1 = new DynamicArray();
        ds[1] = da1;

        System.out.println(ds[1]);

        ds[1].add(23);
        System.out.println(ds[1].get(0));


        String[] str = new String[2];
        String s1 = new String();
        str[0] = s1;
        String s2 = new String();
        str[1] = s2;


//        Double 是 double 引用类型 也叫包装类型，有一些其它的东西 方法 ,他们两个値一致，类型自动转换
        //小的自动转换成为大的过程 ： 打包  装箱
        //大的自动转换成为小的过程 ： 解包  拆箱
        //Float float
//        Byte byte  Short short Long long char Character  int Integer
        double d2 = 3.45;
        Double d3 = d2;

        int[] as = {1, 2, 3, 4, 5, 6};
        int num = as[as.length-1];

//        遍历 ：
        for (int j = 0; j < 2; j++) {
            for (int i = as.length-1; i > 0; i--) {
                as[i]=as[i-1];
            }
            as[0]=num;
        }
        System.out.println(Arrays.toString(as));

    }

}
